xen.git
20 years agoWorkaround bug in xmlrpclib's string escaping. That library outputs invalid
emellor@leeni.uk.xensource.com [Tue, 4 Apr 2006 10:08:20 +0000 (11:08 +0100)]
Workaround bug in xmlrpclib's string escaping.  That library outputs invalid
UTF-8 if given a string containing high-bit characters, so instead pass in
Unicode strings, for which the escaping is correct.

This fixes a bug seen when the dmesg of a machine contains high bit characters,
but I'm sure there are other ways in which it might be triggered.

Signed-off-by: Ewan Mellor <ewan@xensource.com>
20 years agoBuild a few more common network options into the i386 -xen kernel.
kaf24@firebug.cl.cam.ac.uk [Tue, 4 Apr 2006 08:53:53 +0000 (09:53 +0100)]
Build a few more common network options into the i386 -xen kernel.

Signed-off-by: Keir Fraser <keir@xensource.com>
20 years agoMerged.
emellor@leeni.uk.xensource.com [Mon, 3 Apr 2006 22:58:40 +0000 (23:58 +0100)]
Merged.

20 years agoLookup backend by name _or_id_. This is important for domain 0, for example!
emellor@leeni.uk.xensource.com [Mon, 3 Apr 2006 22:57:42 +0000 (23:57 +0100)]
Lookup backend by name _or_id_.  This is important for domain 0, for example!

Signed-off-by: Ewan Mellor <ewan@xensource.com>
20 years agoFix cpus string parsing, wrt use of ^ to remove elements.
emellor@leeni.uk.xensource.com [Mon, 3 Apr 2006 17:39:21 +0000 (18:39 +0100)]
Fix cpus string parsing, wrt use of ^ to remove elements.

Patch from Satoshi Uchida <s-uchida@ap.jp.nec.com>.

Signed-off-by: Ewan Mellor <ewan@xensource.com>
20 years agoThe attached patch fixes a race condition that occurs if after the
emellor@leeni.uk.xensource.com [Mon, 3 Apr 2006 17:32:43 +0000 (18:32 +0100)]
The attached patch fixes a race condition that occurs if after the
backend has been removed there are still requests pending. This patch
flushed all the pending requests.

Signed-off-by: Stefan Berger <stefanb@us.ibm.com>
20 years agoImprove pygrub error reporting when opening ext2 fs is not possible
mip@xencore04.1virtual.net [Mon, 3 Apr 2006 17:28:54 +0000 (18:28 +0100)]
Improve pygrub error reporting when opening ext2 fs is not possible

As reported in the thread:
http://lists.xensource.com/archives/html/xen-users/2006-03/msg00721.html,
pygrub does not open ext2 file systems in partitioned images or sub
partitions on e.g. CentOS/RHEL 4, because e2fsprogs ext2fs_open does not
support an offset into the file to be opened.

With this patch, the error is correctly reported instead of a generic
"unable to open file" (and leaving the user searching in the dark).

Signed-off-by: Michael Paesold <mpaesold@gmx.at>
20 years agoAllow a domain other than Domain-0 to be a backend.
tkuik@tkuik-lnx2.cisco.com [Mon, 3 Apr 2006 17:23:00 +0000 (18:23 +0100)]
Allow a domain other than Domain-0 to be a backend.

Signed-off-by: Tim Kuik tkuik@cisco.com
20 years agoRemove some dead code from the consoled client.
kaf24@firebug.cl.cam.ac.uk [Mon, 3 Apr 2006 16:48:39 +0000 (17:48 +0100)]
Remove some dead code from the consoled client.

Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
20 years agoClean up subarch 'mach-foo' header files. No need for
kaf24@firebug.cl.cam.ac.uk [Mon, 3 Apr 2006 16:47:42 +0000 (17:47 +0100)]
Clean up subarch 'mach-foo' header files. No need for
subarch apicdef.h and ipi.h can be much simplified.

Signed-off-by: Keir Fraser <keir@xensource.com>
20 years agoRemove send_IPI_all, send_IPI_allbutself and send_IPI_self
kaf24@firebug.cl.cam.ac.uk [Mon, 3 Apr 2006 15:35:06 +0000 (16:35 +0100)]
Remove send_IPI_all, send_IPI_allbutself and send_IPI_self
shortcutting IPI functions. They're either unused or used so
frequently that we may as well simplify things and always use
send_IPI_mask.

Signed-off-by: Keir Fraser <keir@xensource.com>
20 years agoAdded tag 3.0.2-branched for changeset d0d3fef37685be264a7f52201f8ef44c030daad3
kaf24@firebug.cl.cam.ac.uk [Mon, 3 Apr 2006 14:52:58 +0000 (15:52 +0100)]
Added tag 3.0.2-branched for changeset d0d3fef37685be264a7f52201f8ef44c030daad3

20 years agoHandle failure to register the xen store event channel instead of
Ian.Campbell@xensource.com [Mon, 3 Apr 2006 13:34:20 +0000 (14:34 +0100)]
Handle failure to register the xen store event channel instead of
just not initialising xenbus/store when the supervisor_mode_kernel
feature flag is enabled.

When initialising grant tables only -ENOSYS is a valid reason
to fail so BUG_ON anything else like we did prior to changeset
9498.

Signed-off-by: Ian Campbell <ian.campbell@xensource.com>
20 years agoMake checksum handling in the virtual network drivers more robust.
kaf24@firebug.cl.cam.ac.uk [Sun, 2 Apr 2006 15:16:53 +0000 (16:16 +0100)]
Make checksum handling in the virtual network drivers more robust.
Largely this involves making the logic symmetrical: for example,
not only should netfront be able to tell netback that a packet has
an empty protocol checksum field, but the reverse must also be true.

Another change is that the drivers only advertise IP checksum
offload functionality. There is currently no information
propagated across the device channel about the offset of the
protocol-specific checksum field. Therefore it is not safe to
defer checksum calculation for protocols the remote end may not
understand -- it will end up dropping having to drop the packet.

Yet another change is to allow netback to disable tx checksum
offload, just as we already could for netfront. Currently there is
no support for disabling rx checksum offload -- that would seem
to require some way of propagating the checksum-offload advertisement
(or lack of it) across the device channel, as it really ought to be
the transmitter that acts on it.

Thanks to Ian Jackson for pointing out some of the problems with
our checksum-offload handling. Several of the changes here are
due to his comments.

Signed-off-by: Keir Fraser <keir@xensource.com>
20 years agoEnable HYPERVISOR_sched_op() and HYPERVISOR_sched_opt_compat() for ia64.
kaf24@firebug.cl.cam.ac.uk [Sun, 2 Apr 2006 08:49:17 +0000 (09:49 +0100)]
Enable HYPERVISOR_sched_op() and HYPERVISOR_sched_opt_compat() for ia64.

Signed-off-by: Alex Williamson <alex.williamson@hp.com>
20 years agoDefine __XEN_INTERFACE_VERSION__ when building Xen.
kaf24@firebug.cl.cam.ac.uk [Sun, 2 Apr 2006 08:48:04 +0000 (09:48 +0100)]
Define __XEN_INTERFACE_VERSION__ when building Xen.

Signed-off-by: Keir Fraser <keir@xensource.com>
20 years agoThis patch fixes several issues related to vmxassist:
kaf24@firebug.cl.cam.ac.uk [Sat, 1 Apr 2006 13:59:12 +0000 (14:59 +0100)]
This patch fixes several issues related to vmxassist:
1) AP bring up;
2) RHEL4 IA32e installation;
3) SLES10 IA32e installation;

Signed-off-by: Xin Li <xin.b.li@intel.com>
20 years agoRename sched_op->sched_op_compat and sched_op_new->sched_op
kaf24@firebug.cl.cam.ac.uk [Sat, 1 Apr 2006 10:08:50 +0000 (11:08 +0100)]
Rename sched_op->sched_op_compat and sched_op_new->sched_op
after Christian's interface cleanup.

Signed-off-by: Keir Fraser <keir@xensource.com>
20 years agoWhen dom0 fails to balloon enough memory to allow a new domain to start,
kaf24@firebug.cl.cam.ac.uk [Sat, 1 Apr 2006 09:52:47 +0000 (10:52 +0100)]
When dom0 fails to balloon enough memory to allow a new domain to start,
an exception is thrown.  The test that decides which exception to throw
is backwards, resulting in strange error messages.  The attached patch
fixes the problem.

Signed-off-by: Charles Coffing <ccoffing@novell.com>
20 years agoChanged deprecated "set-vcpus" to "vcpu-set" in the xm man page.
kaf24@firebug.cl.cam.ac.uk [Sat, 1 Apr 2006 09:50:58 +0000 (10:50 +0100)]
Changed deprecated "set-vcpus" to "vcpu-set" in the xm man page.

Signed-off-by: Charles Coffing <ccoffing@novell.com>
20 years agoFix makefiles for hvmloader and vmxassist for FC5 on x86_64
kaf24@firebug.cl.cam.ac.uk [Sat, 1 Apr 2006 09:49:42 +0000 (10:49 +0100)]
Fix makefiles for hvmloader and vmxassist for FC5 on x86_64
systems.

In FC5, gcc has issues with the command lines used to build
hvmloader and vmxassist.  Basically, the compiler doesn't
like the combination of -m64 and -m32.  As these are 32 bit
apps, and intended to be, take a modified approach and simply
define XEN_TARGET_ARCH for 32 bits.  This cleans up the
command line and builds the images correctly.

From: Ben Thomas <ben@virtualiron.com>

Signed-off-by: Keir Fraser <keir@xensource.com>
20 years ago[SVM] Do not update seg.base in realmode while obtaining the io
kaf24@firebug.cl.cam.ac.uk [Sat, 1 Apr 2006 09:40:54 +0000 (10:40 +0100)]
[SVM] Do not update seg.base in realmode while obtaining the io
addr for ins/outs.

Signed-off-by: Tom Woller <thomas.woller@amd.com>
20 years agoMinor minios traps.c fix for x86/64.
kaf24@firebug.cl.cam.ac.uk [Sat, 1 Apr 2006 09:39:31 +0000 (10:39 +0100)]
Minor minios traps.c fix for x86/64.

Signed-off-by: Aravindh Puthiyaparambil
<aravindh.puthiyaparambil@unisys.com>

20 years ago[IA64] Include features header in xenbus_probe and build features.c
kaf24@firebug.cl.cam.ac.uk [Sat, 1 Apr 2006 09:37:36 +0000 (10:37 +0100)]
[IA64] Include features header in xenbus_probe and build features.c

Signed-off-by: Alex Williamson <alex.williamson@hp.com>
20 years agoAdd new boot parameter 'lowmem_emergency_pool' which creates
kaf24@firebug.cl.cam.ac.uk [Sat, 1 Apr 2006 09:20:10 +0000 (10:20 +0100)]
Add new boot parameter 'lowmem_emergency_pool' which creates
an emergency pool of pages below 4GB (i.e., in Xen's DMA pool)
which will ever be used to satisfy normal allocation requests.

This is particularly useful in an i386 PAE environment to ensure
that pages will always be available for allocation as
page-table base directories.

Usage, for example (to reserve 16MB):
 lowmem_emergency_pool=16M

In a PAE environment, each reserved megabyte guarantees you should
be able to create up to 256 processes (counted across all guests).
16MB means you're good for 4096 processes.

Signed-off-by: Keir Fraser <keir@xensource.com>
20 years agoFix do_IRQ high bit masking.
cl349@firebug.cl.cam.ac.uk [Fri, 31 Mar 2006 16:44:26 +0000 (17:44 +0100)]
Fix do_IRQ high bit masking.
Instead of setting the highest bit (which isn't easily done on native x86_64),
negate the interrupt vector stored in orig_{e,r}ax.
Also add patch for native build.

Signed-off-by: Christian Limpach <Christian.Limpach@cl.cam.ac.uk>
20 years agoPlumb network vif credit-based rate limiting thorugh xenbus
kaf24@firebug.cl.cam.ac.uk [Fri, 31 Mar 2006 14:34:52 +0000 (15:34 +0100)]
Plumb network vif credit-based rate limiting thorugh xenbus
and xend into xm guest config files.

A new vif parameter 'rate' is supported, with an optional time window
paremeter for specifying granularity of credit replenishment. The default
window is 50ms. For example:

 'rate=10Mb/s'  'rate=250KB/s'  'rate=1MB/s@20ms'

From: Chris Clark <christopher.w.clark@gmail.com>

Signed-off-by: Keir Fraser <keir@xensource.com>
20 years agoCurrently, xm & xend allow an XAUTHORITY to be specified in the config
kaf24@firebug.cl.cam.ac.uk [Fri, 31 Mar 2006 12:51:19 +0000 (13:51 +0100)]
Currently,  xm & xend allow an XAUTHORITY to be specified in the config
file.  If that is not specified, then xm will pass the XAUTHORITY
environment variable back to xend instead.  This is not sufficient,
since it is possible that XAUTHORITY is not set at all.  This doesn't
cause a problem for most X apps, because xlib will use the fall-back of
$HOME/.Xauthority.  But the viewer is started from xend, which almost
certainly doesn't have a reasonable HOME variable.

We fix this by always passing some value for
XAUTHORITY.  In order of preference, that value is:
1.  Use the value from the config file, if specified.
2.  Use the value from the XAUTHORITY env variable, if set.
3.  Use $HOME/.Xauthority, if HOME is set.
4.  Look up the user's home directory via getpwuid, and append
"/.Xauthority"

Signed-off-by: Charles Coffing <ccoffing@novell.com>
20 years agoVarious softirq cleanups:
kaf24@firebug.cl.cam.ac.uk [Fri, 31 Mar 2006 11:03:42 +0000 (12:03 +0100)]
Various softirq cleanups:
 1. Make __softirq_pending a long, since PPC borrows the file
    hardirq.h from us and they only do atomic ops on longs.
 2. do_softirq() explicitly takes a void param list.
 3. Remove idle_timestamp field from irq_cpustat. It's unused
    and lets us simplify the idle loop a little bit.

Part 1 based on a patch from Hollis Blanchard at IBM.

Signed-off-by: Keir Fraser <keir@xensource.com>
20 years agoDisable xen bus and grant tables when supervisor_mode_kernel is enabled.
Ian.Campbell@xensource.com [Fri, 31 Mar 2006 10:04:42 +0000 (11:04 +0100)]
Disable xen bus and grant tables when supervisor_mode_kernel is enabled.
Neither of these features are useful/available in this mode since only a
single domain is supported.

Do not attempt to initialise xen bus when supervisor_mode_kernel is
enabled.

Do not BUG_ON() failure to setup grant tables, future versions
of supervisor_mode_kernel may return -ENOSYS here.

Signed-off-by: Ian Campbell <ian.campbell@xensource.com>
20 years agoSee panic messages before the post message processing.
kaf24@firebug.cl.cam.ac.uk [Fri, 31 Mar 2006 09:24:17 +0000 (10:24 +0100)]
See panic messages before the post message processing.

Signed-off-by: Jimi Xenidis <jimix@watson.ibm.com>
20 years agoEnable the setting and trapping of breakpoints for hvm guest.
kaf24@firebug.cl.cam.ac.uk [Fri, 31 Mar 2006 09:07:55 +0000 (10:07 +0100)]
Enable the setting and trapping of breakpoints for hvm guest.
Catch Ctrl-C for gdbserver and let gdb break from continue command.

Signed-Off-By: Nitin A Kamble <nitin.a.kamble@intel.com>
20 years agoThe ia64 build doesn't yet include drivers/xen/Kconfig directly so we
kaf24@firebug.cl.cam.ac.uk [Fri, 31 Mar 2006 09:06:20 +0000 (10:06 +0100)]
The ia64 build doesn't yet include drivers/xen/Kconfig directly so we
need to replicate the new XEN_INTERFACE_VERSION option in the arch
Kconfig.

Signed-off-by: Alex Williamson <alex.williamson@hp.com>
20 years agoMerged.
emellor@leeni.uk.xensource.com [Thu, 30 Mar 2006 23:26:07 +0000 (00:26 +0100)]
Merged.

20 years agoRemove the transaction parameter from xenbus_switch_state and move the state
emellor@leeni.uk.xensource.com [Thu, 30 Mar 2006 23:24:54 +0000 (00:24 +0100)]
Remove the transaction parameter from xenbus_switch_state and move the state
switch out of a transaction, in the few cases where it is inside one.

In order to behave properly, it is necessary for a driver to know its own
xenbus state (see changeset 9469:b3cb19d2b07f, for example).  This
value is stored as xenbus_device.state and updated by xenbus_switch_state.

If xenbus_switch_state occurs within a transaction, then there is a possibility
that the transaction would be aborted, leaving the state field dangerously out
of sync with the value currently in the store.

This fixes recent problems seen whereby bringing multiple devices up at the
same time results in some devices not coming up (often all of the even-numbered
ones, because of the pattern of transaction conflict).

Signed-off-by: Ewan Mellor <ewan@xensource.com>
20 years agoBetter formatting of error messages for xmlrpclib.Faults, matching similar code
emellor@leeni.uk.xensource.com [Thu, 30 Mar 2006 23:15:12 +0000 (00:15 +0100)]
Better formatting of error messages for xmlrpclib.Faults, matching similar code
in main.py.

Signed-off-by: Ewan Mellor <ewan@xensource.com>
20 years agoPrint error messages to stderr. Remove unused handle_xend_error.
emellor@leeni.uk.xensource.com [Thu, 30 Mar 2006 23:14:09 +0000 (00:14 +0100)]
Print error messages to stderr.  Remove unused handle_xend_error.

Signed-off-by: Ewan Mellor <ewan@xensource.com>
20 years agoSet the permissions correctly on the XML-RPC UDP socket, so that non-root users
emellor@leeni.uk.xensource.com [Thu, 30 Mar 2006 23:13:33 +0000 (00:13 +0100)]
Set the permissions correctly on the XML-RPC UDP socket, so that non-root users
cannot use the socket.

This closes a security hole, and fixes the intermittent failure
of xm-test/06_list_nonroot.test.

c.f. xen-unstable changeset 9205:faa1eb1621b9 (same bug, different socket).

Signed-off-by: Ewan Mellor <ewan@xensource.com>
20 years agoFurther attempts to recover from a corrupt store, this one triggered when a
emellor@leeni.uk.xensource.com [Thu, 30 Mar 2006 23:10:54 +0000 (00:10 +0100)]
Further attempts to recover from a corrupt store, this one triggered when a
tdb_store fails.

Signed-off-by: Ewan Mellor <ewan@xensource.com>
20 years agoDon't use abbreviated ip subcommands -- these are not accepted by iproute2.
emellor@leeni.uk.xensource.com [Thu, 30 Mar 2006 23:09:42 +0000 (00:09 +0100)]
Don't use abbreviated ip subcommands -- these are not accepted by iproute2.

Closes bug #478.

Signed-off-by: Ewan Mellor <ewan@xensource.com>
20 years agoRemove __HYPERVISOR_sched_op_new in favour of a header file interface version number...
cl349@firebug.cl.cam.ac.uk [Thu, 30 Mar 2006 16:50:44 +0000 (17:50 +0100)]
Remove __HYPERVISOR_sched_op_new in favour of a header file interface version number system.
Define interface version in Kconfig and define it through CPPFLAGS for
C and assembly file compilation.
Add HYPERVISOR_{yield,block,shutdown} to remove direct use of sched_op
from guest code.

Signed-off-by: Christian Limpach <Christian.Limpach@cl.cam.ac.uk>
20 years agoChange how we add the include asm override to CPPFLAGS.
cl349@firebug.cl.cam.ac.uk [Thu, 30 Mar 2006 16:50:40 +0000 (17:50 +0100)]
Change how we add the include asm override to CPPFLAGS.
Add to CPPFLAGS instead of entirely redefining it.

Signed-off-by: Christian Limpach <Christian.Limpach@cl.cam.ac.uk>
20 years agoMerged.
emellor@leeni.uk.xensource.com [Thu, 30 Mar 2006 16:26:19 +0000 (17:26 +0100)]
Merged.

20 years agoAdded medium-length (around 20 minute run-time) test group.
emellor@leeni.uk.xensource.com [Thu, 30 Mar 2006 16:25:03 +0000 (17:25 +0100)]
Added medium-length (around 20 minute run-time) test group.

Signed-off-by: Ewan Mellor <ewan@xensource.com>
20 years agoThe attached trivial patch fixes cases where a block device is mounted
kaf24@firebug.cl.cam.ac.uk [Thu, 30 Mar 2006 15:53:37 +0000 (16:53 +0100)]
The attached trivial patch fixes cases where a block device is mounted
read-only in domain 0, but still fails to be shared with a domU, because
it is mis-identified as being mounted writable.  (On SUSE, CDs and DVDs
are auto-mounted not with merely permissions "ro", but
"ro,nosuid,nodev", hence the mis-identification.)

Signed-off-by: Charles Coffing <ccoffing@novell.com>
20 years agoFix comment.
smh22@firebug.cl.cam.ac.uk [Thu, 30 Mar 2006 14:28:53 +0000 (15:28 +0100)]
Fix comment.

Signed-off-by: Steven Hand <steven@xensource.com>
20 years agoMore fixes to gdbserver for HVM guest debugging. Also fix
kaf24@firebug.cl.cam.ac.uk [Thu, 30 Mar 2006 13:37:22 +0000 (14:37 +0100)]
More fixes to gdbserver for HVM guest debugging. Also fix
writing back of register state for HVM guests.

From: Nitin A Kamble <nitin.a.kamble@intel.com>

Signed-off-by: Keir Fraser <keir@xensource.com>
20 years agoUse AFLAGS for assembly files so we can "+=" more flags.
kaf24@firebug.cl.cam.ac.uk [Thu, 30 Mar 2006 13:31:57 +0000 (14:31 +0100)]
Use AFLAGS for assembly files so we can "+=" more flags.

From: Jimi Xenidis <jimix@watson.ibm.com>

Signed-off-by: Keir Fraser <keir@xensource.com>
20 years agoInclude the E7520 (e.g., Dell 1850) irqbalance quirk fix even when
kaf24@firebug.cl.cam.ac.uk [Thu, 30 Mar 2006 13:06:11 +0000 (14:06 +0100)]
Include the E7520 (e.g., Dell 1850) irqbalance quirk fix even when
building a non-SMP kernel. The underlying hypervisor may still be SMP.

Signed-off-by: Keir Fraser <keir@xensource.com>
20 years agoMerged.
emellor@leeni.uk.xensource.com [Thu, 30 Mar 2006 10:55:07 +0000 (11:55 +0100)]
Merged.

20 years agoCheck the return value of domain_lookup_by_name_or_id_nr for None (i.e. no
emellor@leeni.uk.xensource.com [Thu, 30 Mar 2006 10:54:07 +0000 (11:54 +0100)]
Check the return value of domain_lookup_by_name_or_id_nr for None (i.e. no
such domain) inside each of the public-facing functions.  This fixes the
Internal errors seen when specifying an invalid domain.

domain_pincpu takes cpumap, which is a list, not a string, so there's no need
to try and split it up.  Fixes xm vcpu-pin.

Signed-off-by: Ewan Mellor <ewan@xensource.com>
20 years agoFix the ProtocolError seen when the server throws an exception and running
emellor@leeni.uk.xensource.com [Thu, 30 Mar 2006 10:51:44 +0000 (11:51 +0100)]
Fix the ProtocolError seen when the server throws an exception and running
under Python 2.3; traceback.format_exc was introduced in 2.4, so we can't use
it.

Added some exception logging.

Signed-off-by: Ewan Mellor <ewan@xensource.com>
20 years agoFix xenconsoled when sending lots of console data to a domU.
kaf24@firebug.cl.cam.ac.uk [Thu, 30 Mar 2006 10:38:56 +0000 (11:38 +0100)]
Fix xenconsoled when sending lots of console data to a domU.
Fixes bug #477.

Signed-off-by: Keir Fraser <keir@xensource.com>
20 years agoSame panic() behaviour as native Linux when running as domain 0.
kaf24@firebug.cl.cam.ac.uk [Wed, 29 Mar 2006 23:11:53 +0000 (00:11 +0100)]
Same panic() behaviour as native Linux when running as domain 0.
That is, no reboot: just sit there and flash the keyboard LEDs.

Signed-off-by: Keir Fraser <keir@xensource.com>
20 years agoXen waits 5 seconds to reboot when domain 0 crashes, giving
kaf24@firebug.cl.cam.ac.uk [Wed, 29 Mar 2006 23:07:23 +0000 (00:07 +0100)]
Xen waits 5 seconds to reboot when domain 0 crashes, giving
time to read crash messages.

From: Chris Wright <chrisw@sous-sol.org>

Signed-off-by: Keir Fraser <keir@xensource.com>
20 years agoRevert accidental commit.
emellor@leeni.uk.xensource.com [Wed, 29 Mar 2006 17:46:51 +0000 (18:46 +0100)]
Revert accidental commit.

Signed-off-by: Ewan Mellor <ewan@xensource.com>
20 years agoMerged.
emellor@leeni.uk.xensource.com [Wed, 29 Mar 2006 17:41:30 +0000 (18:41 +0100)]
Merged.

20 years agoFix save/restore on 64-bit.
smh22@firebug.cl.cam.ac.uk [Wed, 29 Mar 2006 17:07:36 +0000 (18:07 +0100)]
Fix save/restore on 64-bit.

Signed-off-by: Steven Hand <steven@xensource.com>
20 years agoFix save/restore bug; further rationalization of xenbus state machine
smh22@firebug.cl.cam.ac.uk [Wed, 29 Mar 2006 17:06:27 +0000 (18:06 +0100)]
Fix save/restore bug; further rationalization of xenbus state machine
logic deferred until post 3.0.2.

Signed-off-by: Steven Hand <steven@xensource.com>
20 years agoFree shadows of any pages which are released by a domain back to Xen.
cl349@firebug.cl.cam.ac.uk [Wed, 29 Mar 2006 15:50:59 +0000 (16:50 +0100)]
Free shadows of any pages which are released by a domain back to Xen.
This should fix the "Assertion '! IS_INVALID_M2P_ENTRY(gpfn)'"-crash in
free_shadow_page on domain destruction.

Signed-off-by: Christian Limpach <Christian.Limpach@cl.cam.ac.uk>
20 years agoRe-arrange code for followup patch and remove extra shadow_lock in function which...
cl349@firebug.cl.cam.ac.uk [Wed, 29 Mar 2006 15:47:46 +0000 (16:47 +0100)]
Re-arrange code for followup patch and remove extra shadow_lock in function which is only called with the lock already held.

Signed-off-by: Christian Limpach <Christian.Limpach@cl.cam.ac.uk>
20 years agoCompute actual baud rate from UART divisor latch contents
kaf24@firebug.cl.cam.ac.uk [Wed, 29 Mar 2006 15:02:40 +0000 (16:02 +0100)]
Compute actual baud rate from UART divisor latch contents
when no baud rate is specified. Generalise the divisor
calculation based on external clock rate.

Signed-off-by: Keir Fraser <keir@xensource.com>
20 years agoEnsure curr_vcpu in domain.c is set correctly, even when
kaf24@firebug.cl.cam.ac.uk [Wed, 29 Mar 2006 14:39:22 +0000 (15:39 +0100)]
Ensure curr_vcpu in domain.c is set correctly, even when
nr physical cpus is greater than max virtual cpus per domain.

Also do not initialise secondary CPU smp_processor_id() from
smpboot.c cpucount. It will be wrong if some CPUs fail to boot.

Signed-off-by: Keir Fraser <keir@xensource.com>
20 years agoMake maximum number of supported physical CPUs a compile-time
kaf24@firebug.cl.cam.ac.uk [Wed, 29 Mar 2006 13:54:43 +0000 (14:54 +0100)]
Make maximum number of supported physical CPUs a compile-time
option via the 'max_phys_cpus=<nr>' compilation parameter.

Based on a patch from Aravindh Puthiyaparambil at Unisys.

Signed-off-by: Keir Fraser <keir@xensource.com>
20 years agoRemove vcpu_avail from the public S-Expression that's passed over the wire.
anthony@rhesis.austin.ibm.com [Wed, 29 Mar 2006 13:50:57 +0000 (14:50 +0100)]
Remove vcpu_avail from the public S-Expression that's passed over the wire.
This trips up the XML-RPC layer on large SMP systems and isn't actually used
by xm.

Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
20 years agoSVM patch to update guest time with latest hvm modifications.
kaf24@firebug.cl.cam.ac.uk [Wed, 29 Mar 2006 12:56:26 +0000 (13:56 +0100)]
SVM patch to update guest time with latest hvm modifications.

Signed-off-by: Tom Woller <thomas.woller@amd.com>
20 years agoSome fixes to IRET hypercall and failsafe callback handlers:
kaf24@firebug.cl.cam.ac.uk [Wed, 29 Mar 2006 11:02:45 +0000 (12:02 +0100)]
Some fixes to IRET hypercall and failsafe callback handlers:
 1. IRET hypercall must restore the event callback mask. This
    was missing on x86/64, and both subarchitectures now restore
    from EFLAGS.IF.
 2. Failsafe callbacks are fixed to detect whether fault is due to
    bad segment or due to IRET. In the latter case we now
    immediatiately kill the process. This avoids infinite looping
    between IRET hypercall and failsafe callback handler in the guest.

Signed-off-by: Keir Fraser <keir@xensource.com>
20 years agoInitialise p2m entries to INVALID_MFN and disable debug printk in pfn to mfn lookup.
cl349@firebug.cl.cam.ac.uk [Wed, 29 Mar 2006 09:46:36 +0000 (10:46 +0100)]
Initialise p2m entries to INVALID_MFN and disable debug printk in pfn to mfn lookup.

Signed-off-by: Christian Limpach <Christian.Limpach@cl.cam.ac.uk>
20 years agoFix get_page_type() when passed PGT_va_mutable.
kaf24@firebug.cl.cam.ac.uk [Tue, 28 Mar 2006 20:21:26 +0000 (21:21 +0100)]
Fix get_page_type() when passed PGT_va_mutable.

Signed-off-by: Keir Fraser <keir@xensource.com>
20 years agoClean up and fix VCPU hotplug and SMP save/restore.
kaf24@firebug.cl.cam.ac.uk [Tue, 28 Mar 2006 17:43:30 +0000 (18:43 +0100)]
Clean up and fix VCPU hotplug and SMP save/restore.
 1. No longer hold xenbus_lock while taking down VCPUs
    in SMP suspend path. This allows block device hotplug
    to continue working and so we will not deadlock on
    paging in userspace hotplug code.
 2. Track xenbus and local-admin permitted cpumasks for
    VCPUs to bring online. So, if a local admin takes a
    CPU down, that won't surprisingly get overridden next
    time the kernel interrogates xenstore.

Signed-off-by: Keir Fraser <keir@xensource.com>
20 years agoChange do_IRQ high bit masking.
cl349@firebug.cl.cam.ac.uk [Tue, 28 Mar 2006 13:19:22 +0000 (14:19 +0100)]
Change do_IRQ high bit masking.
Allow more than 256 interrupt vectors on native by only setting the
highest bit when marking orig_eax to indicate that we're not within
a system call.

Signed-off-by: Christian Limpach <Christian.Limpach@cl.cam.ac.uk>
20 years agoThe introduction of the SMI handling code added in cset 9371 is
kaf24@firebug.cl.cam.ac.uk [Tue, 28 Mar 2006 12:45:08 +0000 (13:45 +0100)]
The introduction of the SMI handling code added in cset 9371 is
"reversed", as in it actually clears the SMI bit in the VMCB. If you
have a new enough chip (or new BIOS), the SMI bit HAS TO BE SET or it
gives exitcode -1.

Signed-off-by: Mats Petersson <mats.petersson@amd.com>
20 years agomerge
kaf24@firebug.cl.cam.ac.uk [Tue, 28 Mar 2006 12:43:22 +0000 (13:43 +0100)]
merge

20 years agoAdd missing -xen ia64 config file.
kaf24@firebug.cl.cam.ac.uk [Tue, 28 Mar 2006 12:42:28 +0000 (13:42 +0100)]
Add missing -xen ia64 config file.

Signed-off-by: Keir Fraser <keir@xensource.com>
20 years agoSVM only patch to fix location of PIO request RIP update.
kaf24@firebug.cl.cam.ac.uk [Tue, 28 Mar 2006 12:40:30 +0000 (13:40 +0100)]
SVM only patch to fix location of PIO request RIP update.
Fixes booting of win2003 server, and various CD installation failures.

Signed-off-by: Tom Woller <thomas.woller@amd.com>
20 years agoMerged.
emellor@leeni.uk.xensource.com [Tue, 28 Mar 2006 10:52:47 +0000 (11:52 +0100)]
Merged.

20 years agoMention uClibc and buildroot configs.
emellor@leeni.uk.xensource.com [Tue, 28 Mar 2006 10:51:06 +0000 (11:51 +0100)]
Mention uClibc and buildroot configs.

Signed-off-by: Ewan Mellor <ewan@xensource.com>
20 years agoAdded README for the XenSource-hosted initrd.
emellor@leeni.uk.xensource.com [Tue, 28 Mar 2006 10:47:58 +0000 (11:47 +0100)]
Added README for the XenSource-hosted initrd.

Signed-off-by: Ewan Mellor <ewan@xensource.com>
20 years agoDownload the initrd from xm-test.xensource.com, unless otherwise specified.
emellor@leeni.uk.xensource.com [Tue, 28 Mar 2006 10:47:20 +0000 (11:47 +0100)]
Download the initrd from xm-test.xensource.com, unless otherwise specified.
Don't download it again if it's already present.

Signed-off-by: Ewan Mellor <ewan@xensource.com>
20 years agoWatch for @introduceDomain, for symmetry with the existing watch on
emellor@leeni.uk.xensource.com [Tue, 28 Mar 2006 10:26:29 +0000 (11:26 +0100)]
Watch for @introduceDomain, for symmetry with the existing watch on
@releaseDomain.

Signed-off-by: Ewan Mellor <ewan@xensource.com>
20 years agoHave TCPXMLRPCServer inherit from SocketServer.ThreadingMixIn. This allows
emellor@leeni.uk.xensource.com [Tue, 28 Mar 2006 10:25:22 +0000 (11:25 +0100)]
Have TCPXMLRPCServer inherit from SocketServer.ThreadingMixIn.  This allows
Xend to handle more than one request simultaneously once again.

Signed-off-by: Ewan Mellor <ewan@xensource.com>
20 years agoRemove special handling of {set,clear}_in_cr4().
cl349@firebug.cl.cam.ac.uk [Tue, 28 Mar 2006 09:09:44 +0000 (10:09 +0100)]
Remove special handling of {set,clear}_in_cr4().

Signed-off-by: Christian Limpach <Christian.Limpach@cl.cam.ac.uk>
20 years agoSimplify the failsafe callback handler in x86/64 linux. It doesn't
kaf24@firebug.cl.cam.ac.uk [Tue, 28 Mar 2006 09:01:35 +0000 (10:01 +0100)]
Simplify the failsafe callback handler in x86/64 linux. It doesn't
need to try reloading segment selectors (unlike i386 linux).

Signed-off-by: Keir Fraser <keir@xensource.com>
20 years agoAdd -xen buildconfig for ia64 and tweak CONFIG_VT setup to avoid
kaf24@firebug.cl.cam.ac.uk [Tue, 28 Mar 2006 08:57:48 +0000 (09:57 +0100)]
Add -xen buildconfig for ia64 and tweak CONFIG_VT setup to avoid
initializing on domUs.  Remove CONFIG_IDE_GENERIC as this is
unnecessary on ia64 systems (no ISA IDE controllers) and causes long
timeouts booting domU.

Signed-off-by: Alex Williamson <alex.williamson@hp.com>
20 years agoMake -xen default kernel compile on x86_64 by removing b44 module.
kaf24@firebug.cl.cam.ac.uk [Mon, 27 Mar 2006 17:03:03 +0000 (18:03 +0100)]
Make -xen default kernel compile on x86_64 by removing b44 module.

This patch ends up affecting a couple other lines because it is the
result of a new make menuconfig, but those changes should be harmless.

Signed-off-by: Sean Dague <japh@us.ibm.com>
20 years agoWhitespace.
cl349@firebug.cl.cam.ac.uk [Mon, 27 Mar 2006 10:16:36 +0000 (11:16 +0100)]
Whitespace.

Signed-off-by: Christian Limpach <Christian.Limpach@cl.cam.ac.uk>
20 years agoFix 64-bit HVM guest debug via gdbserver:
kaf24@firebug.cl.cam.ac.uk [Sun, 26 Mar 2006 10:50:39 +0000 (11:50 +0100)]
Fix 64-bit HVM guest debug via gdbserver:
 1. gdb_regs for 64bit, and macros to transfer regisers between ptrace
    registers to gdb registers
 2. xc_ptrace code building for 64bit
 3. Implementation of new map_domain_va for 64bit
 4. gdbserver-xen build configuration fixes for 64bit

From: Nitin Kamble
Signed-off-by: Keir Fraser <keir@xensource.com>
20 years agoAllow 64-bit Xen to run 64-bit hvm SMP guests.
kaf24@firebug.cl.cam.ac.uk [Sun, 26 Mar 2006 10:45:35 +0000 (11:45 +0100)]
Allow 64-bit Xen to run 64-bit hvm SMP guests.

Signed-off-by: Jun Nakajima <jun.nakajima@intel.com>
20 years agoDon't reclaim vcpus that are not put into use yet when destroying HVM
kaf24@firebug.cl.cam.ac.uk [Sun, 26 Mar 2006 10:43:53 +0000 (11:43 +0100)]
Don't reclaim vcpus that are not put into use yet when destroying HVM
domain. Otherwise, when running a debug=y xen, we will get a assertion
failure in vmx_request_clear_vmcs(), since some vcpus may be not
initialized for HVM use yet.

Signed-off-by: Xin Li <xin.b.li@intel.com>
Signed-off-by: Jun Nakajima <jun.nakajima@intel.com>
20 years agoFix build error with debug=y inxen/ia64 by moving
kaf24@firebug.cl.cam.ac.uk [Sun, 26 Mar 2006 10:42:17 +0000 (11:42 +0100)]
Fix build error with debug=y inxen/ia64 by moving
MAX_ORDER definition has moved into a header file.

Signed-off-by: Masaki Kanno <kanno.masaki@jp.fujitsu.com>
20 years agoThe attached patch to the qemu emulation of the pcnet hardware fixes
kaf24@firebug.cl.cam.ac.uk [Sun, 26 Mar 2006 10:39:04 +0000 (11:39 +0100)]
The attached patch to the qemu emulation of the pcnet hardware fixes
several problems.  It will now only read and write a transmit or receive
descriptor once.  It will correctly handle transmitting frames with more
than two fragments.  It will discard oversize frames instead of
corrupting memory.  I have tested all the changes I have made and even
seen an improvement in receive performance from 1.7MB/s to 3.3MB/s.
Your mileage will vary.

The code could be simplified if multi-fragment frames were deleted.  It
appears that both Linux and Windows XP don't use fragmented frames.

The mac crc computation code was deleted, since it has never been used.
The code was checking the wrong bit in the control register.

I tested type 3 descriptors by modifying the linux pcnet32 driver, but
did not see any difference in performance over type 2 currently used.

I have not made any change to type 0 (16-bit) transmit/receive
descriptors as I have no way to test the changes.

Please test this as soon as possible, as I will be on vacation next week
and in a class the following week.  I will check email from time to
time, but my ability to make changes to code will be greatly dimished.

One other thing I noticed in my testing, is that if I tell a linux domU
to reboot, it will reboot but not have any pcnet32 device after
rebooting.  By doing a shutdown, xm destroy and xm create, I was able to
get around that problem.

Signed-off-by: Don Fry <brazilnut@us.ibm.com>
20 years agoAdd format printf attribute to panic() prototype and fix the error
kaf24@firebug.cl.cam.ac.uk [Sun, 26 Mar 2006 10:35:11 +0000 (11:35 +0100)]
Add format printf attribute to panic() prototype and fix the error
this catches.

Signed-off-by: Jimi Xenidis <jimix@watson.ibm.com>
Signed-off-by: Keir Fraser <keir@xensource.com>
20 years agoAdded tag 3.0.2-rc for changeset af0573e9e5258db0a9d28aa954dd302ddd2c2d23
kaf24@firebug.cl.cam.ac.uk [Fri, 24 Mar 2006 16:48:03 +0000 (17:48 +0100)]
Added tag 3.0.2-rc for changeset af0573e9e5258db0a9d28aa954dd302ddd2c2d23

20 years agoSwitch the default build to make the -xen kernel, not the -xen0 and -xenU
emellor@leeni.uk.xensource.com [Fri, 24 Mar 2006 13:36:14 +0000 (14:36 +0100)]
Switch the default build to make the -xen kernel, not the -xen0 and -xenU
kernels.  Distros will be using -xen exclusively, so this change means that
developers and users of unstable will be (by default) using the same
configuration as the distros.

This can be overridden by setting KERNELS="linux-2.6-xen0 linux-2.6-xenU" on the
command line.

Signed-off-by: Ewan Mellor <ewan@xensource.com>
20 years agoFix bug 515 by adding a global lock around the hotplug scripts in the non-udev hotplu...
harry@localhost.localdomain [Fri, 24 Mar 2006 13:31:20 +0000 (14:31 +0100)]
Fix bug 515 by adding a global lock around the hotplug scripts in the non-udev hotplug case only.

There are two possible root causes for 515, both of which are only problems in the non-udev hotplug case because udev uses udevsend which already implements the required serialisation.

1) Script concurrency.
2) Kernel reordering hotplug events.

This changeset fixes (1) but not (2).  Since (1) is the problem that seems to be happening this is probably OK.

A fix for (2) for the hotplug case might be to add extra serialisation using state changes in the store but this would impact all the drivers and the code and extra complexity would be redundant once everyone had moved to udev.  This doesn't seem worthwhile unless we actually start to see (2) happening.

20 years ago1) Introduce new exception type XendInvalidDomain that maps to the high level
anthony@rhesis.austin.ibm.com [Fri, 24 Mar 2006 13:31:12 +0000 (14:31 +0100)]
1) Introduce new exception type XendInvalidDomain that maps to the high level
   XEND_INVALID_DOMAIN faultType.
2) Fix exception logic in XMLRPCServer
3) Fix TCP server
4) Remove catching of ProtocolError in main.py.  ProtocolErrors only occur
   when there is an exception in the exception handling code which shouldn't
   ever happen.  I've reproduced the error cases described by Ewan with
   xend_domain_setTargetMemory and once I fixed the exception logic, I get a
   normal faultType of 1 as would be expected.

Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
20 years agoCreate /var/xen/dump/ during tools installation, or core files
kaf24@firebug.cl.cam.ac.uk [Fri, 24 Mar 2006 11:28:58 +0000 (12:28 +0100)]
Create /var/xen/dump/ during tools installation, or core files
are not written even if we set (enable-dump yes) in xend-config.sxp.

Signed-off-by: Akio Takebe <takebe_akio@jp.fujitsu.com>
20 years agoDetect spurious faults taken in the hypervisor that are
kaf24@firebug.cl.cam.ac.uk [Fri, 24 Mar 2006 11:14:58 +0000 (12:14 +0100)]
Detect spurious faults taken in the hypervisor that are
due to writable pagetable logic.

Signed-off-by: Keir Fraser <keir@xensource.com>
20 years agoThis patch is mainly a cleanup of vmx related xentrace code. One minor
kaf24@firebug.cl.cam.ac.uk [Fri, 24 Mar 2006 09:59:31 +0000 (10:59 +0100)]
This patch is mainly a cleanup of vmx related xentrace code. One minor
xentrace bug is fixed.

Signed-off-by: Xiaowei Yang <xiaowei.yang@intel.com>
Signed-off-by: Yunfeng Zhao <yunfeng.zhao@intel.com>
20 years agoUpdate gdb documentation
kaf24@firebug.cl.cam.ac.uk [Fri, 24 Mar 2006 09:57:52 +0000 (10:57 +0100)]
Update gdb documentation

* Kernel isn't 2.6.12 anymore
* ARCH=xen isn't needed for make anymore

Signed-Off-By: Horms <horms@verge.net.au>